package design_pattern.lx1_factory_pattern;

/**
 * @Author Mr.wang
 * @Description 获取实体类的对象
 * @Date 2020-04-01
 */
public class FactoryPatternDemo {
    public static void main(String[] args) {
        ShapeFactory shapeFactory = new ShapeFactory();
        // 获取 Circle 的对象，并调用它的 draw 方法
        Shape shape1 = shapeFactory.getShape("CIRCLE");
        // 调用Circle的draw方法
        shape1.draw();
        // 获取 Rectangle 的对象，并调用它的 draw 方法
        Shape shape2 = shapeFactory.getShape("RECTANGLE");
        // 调用 Rectangle 的draw方法
        shape2.draw();
        // 获取 Square 的对象，并调用它的 draw 方法
        Shape shape3 = shapeFactory.getShape("SQUARE");
        // 调用 Square 的draw方法
        shape3.draw();
    }
}
